﻿using InvestmentIntelligence.TradingData.Adapters.Mus.Enums;
using InvestmentIntelligence.TradingData.DataProcessing.DataResolvers;
using System.Collections.Generic;

namespace InvestmentIntelligence.TradingData.Adapters.Mus.MarketIndicators.TrendIndicators
{
    abstract class TrendIndicator : ITrendIndicator
    {
        public virtual Dictionary<TrendTypes, TrendActions> PrepareOutput()
        {
            return new Dictionary<TrendTypes, TrendActions>
            {
                {TrendTypes.LongBigTerm, TrendActions.None},
                {TrendTypes.LongMediumTerm, TrendActions.None},
                {TrendTypes.LongSmallTerm, TrendActions.None},
                {TrendTypes.ShortBigTerm, TrendActions.None},
                {TrendTypes.ShortMediumTerm, TrendActions.None},
                {TrendTypes.ShortSmallTerm, TrendActions.None},
            };
        }

        public abstract TrendIndicatorTypes Type { get; }
        public abstract Dictionary<TrendTypes, TrendActions> Indicate(int securityId, List<TimeSerieInfo> timeSeries);
    }
}
